package com.bjbn.service;

import com.bjbn.model.dto.BaseResponseDto;
import com.bjbn.model.dto.GpsDataRequestDto;
import com.bjbn.model.dto.GpsDataResponseDto;
import com.bjbn.model.dto.HotAreaRequestDto;
import com.bjbn.model.dto.HotAreaResponseDto;
import com.bjbn.model.dto.TaxiBaseInfoRequestDto;
import com.bjbn.model.dto.TaxiBaseInfoResponseDto;

/**
 * 交通局API服务接口
 */
public interface TransitAuthorityService {
    
    /**
     * 获取网约车GPS数据
     * @param requestDto 请求参数
     * @param page 当前页
     * @param pageSize 每页大小
     * @return GPS数据响应
     */
    BaseResponseDto<GpsDataResponseDto> getGpsData(GpsDataRequestDto requestDto, String page, String pageSize);
    
    /**
     * 获取网约车下车客流热力图数据
     * @param requestDto 请求参数
     * @param page 当前页
     * @param pageSize 每页大小
     * @return 下车客流热力图数据响应
     */
    BaseResponseDto<HotAreaResponseDto> getDropOffHotArea(HotAreaRequestDto requestDto, String page, String pageSize);
    
    /**
     * 获取网约车上车客流热力图数据
     * @param requestDto 请求参数
     * @param page 当前页
     * @param pageSize 每页大小
     * @return 上车客流热力图数据响应
     */
    BaseResponseDto<HotAreaResponseDto> getPickUpHotArea(HotAreaRequestDto requestDto, String page, String pageSize);
    
    /**
     * 获取网约车辆基础信息
     * @param requestDto 请求参数
     * @param page 当前页
     * @param pageSize 每页大小
     * @return 车辆基础信息响应
     */
    BaseResponseDto<TaxiBaseInfoResponseDto> getTaxiBaseInfo(TaxiBaseInfoRequestDto requestDto, String page, String pageSize);
}